﻿namespace MyCompanyName.AbpZeroTemplate.Authorization
{
    /// <summary>
    /// Defines string constants for application's permission names.
    /// <see cref="AppAuthorizationProvider"/> for permission definitions.
    /// </summary>
    public static class AppPermissions
    {
        //COMMON PERMISSIONS (FOR BOTH OF TENANTS AND HOST)
        public const string Pages = "Pages";

        public const string Pages_Okr_Daybook = "Pages.Okr.Daybook";
        public const string Pages_Okr_Daybook_Create = "Pages.Okr.Daybook.Create";
        public const string Pages_Okr_Daybook_Edit = "Pages.Okr.Daybook.Edit";
        public const string Pages_Okr_Daybook_My = "Pages.Okr.Daybook.My";
        public const string Pages_Okr_Daybook_Manager = "Pages.Okr.Daybook.Manager";



        //项目管理
        public const string Pages_ProjectManager = "Pages.ProjectManager";
        //项目清单
        public const string Pages_ProjectManager_ProjectList = "Pages.ProjectManager.ProjectList";
        public const string Pages_ProjectManager_ProductList = "Pages.ProjectManager.ProductList";

        //系统管理
        public const string Pages_SystemManager = "Pages.SystemManager";
        //物质列表
        public const string Pages_SystemManager_Substance = "Pages.SystemManager.Substance";
        //物质列表创建
        public const string Pages_SystemManager_Substance_Create = "Pages.SystemManager.Substance.Create";

        //项目角色
        public const string Pages_SystemManager_ProjectRole = "Pages.SystemManager.ProjectRole";
        //项目角色权限
        public const string Pages_SystemManager_ProjectRoleAuth = "Pages.SystemManager.ProjectRoleAuth";
        //项目文档权限
        public static string Pages_SystemManager_ProjectRoleDocumentAuth = "Pages.SystemManager.ProjectRoleDocumentAuth";

        //项目文档类别
        public const string Pages_SystemManager_DocumentType = "Pages.SystemManager.DocumentType";





        public const string Pages_Administration = "Pages.Administration";

        public const string Pages_Administration_Roles = "Pages.Administration.Roles";
        public const string Pages_Administration_Roles_Create = "Pages.Administration.Roles.Create";
        public const string Pages_Administration_Roles_Edit = "Pages.Administration.Roles.Edit";
        public const string Pages_Administration_Roles_Delete = "Pages.Administration.Roles.Delete";

        public const string Pages_Administration_Users = "Pages.Administration.Users";
        public const string Pages_Administration_Users_Create = "Pages.Administration.Users.Create";
        public const string Pages_Administration_Users_Edit = "Pages.Administration.Users.Edit";
        public const string Pages_Administration_Users_Delete = "Pages.Administration.Users.Delete";
        public const string Pages_Administration_Users_ChangePermissions = "Pages.Administration.Users.ChangePermissions";
        public const string Pages_Administration_Users_Impersonation = "Pages.Administration.Users.Impersonation";

        //public const string Pages_Administration_NewMenu1 = "Pages.Administration.NewMenu1";
        //public const string Pages_Administration_NewMenu2 = "Pages.Administration.NewMenu2";



        public const string Pages_Administration_Languages = "Pages.Administration.Languages";
        public const string Pages_Administration_Languages_Create = "Pages.Administration.Languages.Create";
        public const string Pages_Administration_Languages_Edit = "Pages.Administration.Languages.Edit";
        public const string Pages_Administration_Languages_Delete = "Pages.Administration.Languages.Delete";
        public const string Pages_Administration_Languages_ChangeTexts = "Pages.Administration.Languages.ChangeTexts";

        public const string Pages_Administration_AuditLogs = "Pages.Administration.AuditLogs";

        public const string Pages_Administration_OrganizationUnits = "Pages.Administration.OrganizationUnits";
        public const string Pages_Administration_OrganizationUnits_ManageOrganizationTree = "Pages.Administration.OrganizationUnits.ManageOrganizationTree";
        public const string Pages_Administration_OrganizationUnits_ManageMembers = "Pages.Administration.OrganizationUnits.ManageMembers";

        //TENANT-SPECIFIC PERMISSIONS

        public const string Pages_Tenant_Dashboard = "Pages.Tenant.Dashboard";

        public const string Pages_Administration_Tenant_Settings = "Pages.Administration.Tenant.Settings";
        
        //HOST-SPECIFIC PERMISSIONS

        public const string Pages_Editions = "Pages.Editions";
        public const string Pages_Editions_Create = "Pages.Editions.Create";
        public const string Pages_Editions_Edit = "Pages.Editions.Edit";
        public const string Pages_Editions_Delete = "Pages.Editions.Delete";

        public const string Pages_Tenants = "Pages.Tenants";
        public const string Pages_Tenants_Create = "Pages.Tenants.Create";
        public const string Pages_Tenants_Edit = "Pages.Tenants.Edit";
        public const string Pages_Tenants_ChangeFeatures = "Pages.Tenants.ChangeFeatures";
        public const string Pages_Tenants_Delete = "Pages.Tenants.Delete";
        public const string Pages_Tenants_Impersonation = "Pages.Tenants.Impersonation";

        public const string Pages_Administration_Host_Settings = "Pages.Administration.Host.Settings";

    }
}